← Index
NYTProf Performance Profile   
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:58 2022

Filename(eval 421)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]
StatementsExecuted 68 statements in 911µs
Eval Invoked At/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm line 3
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
222109µs94.3sJSON::Schema::Modern::Document::OpenAPI::::newJSON::Schema::Modern::Document::OpenAPI::new
1119µs24µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@14.303JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303
1116µs12µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@111JSON::Schema::Modern::Document::OpenAPI::BEGIN@111
1116µs11µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@82JSON::Schema::Modern::Document::OpenAPI::BEGIN@82
1115µs11µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@138JSON::Schema::Modern::Document::OpenAPI::BEGIN@138
1115µs11µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@143JSON::Schema::Modern::Document::OpenAPI::BEGIN@143
1115µs5µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@19.304JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.304
1115µs11µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@77JSON::Schema::Modern::Document::OpenAPI::BEGIN@77
1114µs40µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@87JSON::Schema::Modern::Document::OpenAPI::BEGIN@87
1113µs11µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@90JSON::Schema::Modern::Document::OpenAPI::BEGIN@90
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
221µs my $coerce_for_canonical_5furi = ${$_[1]->{"\$coerce_for_canonical_5furi"}};
310s my $coerce_for_metaschema_5furi = ${$_[1]->{"\$coerce_for_metaschema_5furi"}};
410s my $isa_check_for_canonical_5furi = ${$_[1]->{"\$isa_check_for_canonical_5furi"}};
510s my $isa_check_for_operationIds = ${$_[1]->{"\$isa_check_for_operationIds"}};
611µs my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
7131µs my $isa_check_for_json_5fschema_5fdialect = ${$_[1]->{"\$isa_check_for_json_5fschema_5fdialect"}};
811µs my $isa_check_for_evaluator = ${$_[1]->{"\$isa_check_for_evaluator"}};
910s my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
1010s my $coerce_for_json_5fschema_5fdialect = ${$_[1]->{"\$coerce_for_json_5fschema_5fdialect"}};
1110s my $isa_check_for_errors = ${$_[1]->{"\$isa_check_for_errors"}};
1210s my $isa_check_for_metaschema_5furi = ${$_[1]->{"\$isa_check_for_metaschema_5furi"}};
13 package JSON::Schema::Modern::Document::OpenAPI;
14238µs239µs
# spent 24µs (9+15) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 which was called: # once (9µs+15µs) by Sub::Quote::_clean_eval at line 14
no warnings 'closure';
# spent 24µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 # spent 15µs making 1 call to warnings::unimport
15
# spent 94.3s (109µs+94.3) within JSON::Schema::Modern::Document::OpenAPI::new which was called 2 times, avg 47.1s/call: # once (103µs+94.3s) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 177 of Sub/Defer.pm # once (6µs+4.38ms) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 72 of OpenAPI/Modern.pm
sub new {
16 ($_QUOTED,$_UNQUOTED) if 0;
17# BEGIN quote_sub PRELUDE
18package JSON::Schema::Modern::Document::OpenAPI;
19
# spent 5µs within JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.304 which was called: # once (5µs+0s) by Sub::Quote::_clean_eval at line 24
BEGIN {
2010s $^H = 2018;
2111µs ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUUUUU";
2213µs %^H = (
23 );
241165µs15µs}
25# END quote_sub PRELUDE
2611µs my $invoker = CORE::shift();
2710s my $class = CORE::ref($invoker) ? CORE::ref($invoker) : $invoker;
2810s if ($class ne "JSON::Schema::Modern::Document::OpenAPI") {
29 if ($Moo::MAKERS{$class}) {
30 if ($Moo::MAKERS{$class}{constructor}) {
31 package JSON::Schema::Modern::Document::OpenAPI;
32 return $invoker->SUPER::new(@_);
33 }
34 Moo->_constructor_maker_for($class);
35 return $invoker->new(@_);
36 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
37 return $meta->new_object(
38 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
39 : $class->Moo::Object::BUILDARGS(@_)
40 );
41 }
42 }
43 my $args = scalar @_ == 1
44 ? CORE::ref $_[0] eq 'HASH'
4513µs ? { %{ $_[0] } }
46 : Carp::croak("Single parameters to new() must be a HASH ref"
47 . " data => ". $_[0])
48 : @_ % 2
49 ? Carp::croak("The new() method for $class expects a hash reference or a"
50 . " key/value list. You passed an odd number of arguments")
51 : {@_}
52 ;
5311µs if (my @missing = grep !exists $args->{$_}, "evaluator", "schema") {
54 Carp::croak("Missing required arguments: ".CORE::join(', ', sort @missing));
55 }
5616µs212µs my $new = $invoker->JSON::Schema::Modern::Document::SUPER::new($class->FOREIGNBUILDARGS(@_));
# spent 11µs making 1 call to Mojo::JSON::Pointer::new # spent 1µs making 1 call to JSON::Schema::Modern::Document::FOREIGNBUILDARGS
5710s(exists $args->{"canonical_uri"} and ($new->{"canonical_uri"} = scalar do { my $value = do {
5811µs local $Method::Generate::Accessor::CurrentAttribute = {
59 init_arg => "canonical_uri",
60 name => "canonical_uri",
61 step => "coercion",
62 };
6310s (my $_return),
64 (my $_error), (my $_old_error = $@);
6511µs (eval {
66 ($@ = $_old_error),
67 ($_return =
6811µs1264µs$coerce_for_canonical_5furi->($args->{"canonical_uri"})),
69 1
70 } or
71 $_error = CORE::ref $@ ? $@ : "coercion for \"canonical_uri\" failed: ".$@);
7210s ($@ = $_old_error),
73 (defined $_error and CORE::die $_error);
7411µs $_return;
75}
76;
77765µs521µs
# spent 11µs (5+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 which was called: # once (5µs+6µs) by Sub::Quote::_clean_eval at line 77
(do { no warnings "void"; package Type::Tiny; ((((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) && (do { local $_ = $value; not defined $_->fragment }))) or Type::Tiny::_failed_check($isa_check_for_canonical_5furi, "__ANON__", $value, "attribute_name","canonical_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"canonical_uri\"}"); $value }),
# spent 11µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 # spent 6µs making 1 call to warnings::unimport # spent 2µs making 1 call to Mojo::URL::fragment # spent 1µs making 1 call to Scalar::Util::blessed # spent 1µs making 1 call to UNIVERSAL::isa
78 $value
79}
80)),
81(exists $args->{"errors"} and ($new->{"errors"} = scalar do { my $value = $args->{"errors"};
82266µs216µs
# spent 11µs (6+5) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 which was called: # once (6µs+5µs) by Sub::Quote::_clean_eval at line 82
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_arrayref($value)) and do { my $ok = 1; for my $i (@{$value}) { ($ok = 0, last) unless (Scalar::Util::blessed($i) and $i->isa(q[JSON::Schema::Modern::Error])) }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_errors, "ArrayRef[InstanceOf[\"JSON::Schema::Modern::Error\"]]", $value, "attribute_name","errors","attribute_step","isa check","mgaca","0","varname","\$args->{\"errors\"}"); $value }),
# spent 11µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 # spent 5µs making 1 call to warnings::unimport
83 $value
84}
85)),
86239µs11µs(exists $args->{"evaluator"} and (do { Scalar::Util::weaken($new->{"evaluator"} = scalar do { my $value = $args->{"evaluator"};
# spent 1µs making 1 call to Scalar::Util::weaken
87569µs485µs
# spent 40µs (4+36) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 which was called: # once (4µs+36µs) by Sub::Quote::_clean_eval at line 87
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[JSON::Schema::Modern]))) or Type::Tiny::_failed_check($isa_check_for_evaluator, "InstanceOf[\"JSON::Schema::Modern\"]", $value, "attribute_name","evaluator","attribute_step","isa check","mgaca","0","varname","\$args->{\"evaluator\"}"); $value }),
# spent 40µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 # spent 36µs making 1 call to warnings::unimport # spent 9µs making 1 call to UNIVERSAL::isa # spent 0s making 1 call to Scalar::Util::blessed
88 $value
89}
90355µs219µs
# spent 11µs (3+8) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 which was called: # once (3µs+8µs) by Sub::Quote::_clean_eval at line 90
); no warnings 'void'; $new->{"evaluator"} })),
# spent 11µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 # spent 8µs making 1 call to warnings::unimport
91(exists $args->{"json_schema_dialect"} and ($new->{"json_schema_dialect"} = scalar do { my $value = do {
92 local $Method::Generate::Accessor::CurrentAttribute = {
93 init_arg => "json_schema_dialect",
94 name => "json_schema_dialect",
95 step => "coercion",
96 };
97 (my $_return),
98 (my $_error), (my $_old_error = $@);
99 (eval {
100 ($@ = $_old_error),
101 ($_return =
102$coerce_for_json_5fschema_5fdialect->($args->{"json_schema_dialect"})),
103 1
104 } or
105 $_error = CORE::ref $@ ? $@ : "coercion for \"json_schema_dialect\" failed: ".$@);
106 ($@ = $_old_error),
107 (defined $_error and CORE::die $_error);
108 $_return;
109}
110;
111293µs218µs
# spent 12µs (6+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 which was called: # once (6µs+6µs) by Sub::Quote::_clean_eval at line 111
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_json_5fschema_5fdialect, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","json_schema_dialect","attribute_step","isa check","mgaca","0","varname","\$args->{\"json_schema_dialect\"}"); $value }),
# spent 12µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 # spent 6µs making 1 call to warnings::unimport
112 $value
113}
114)),
11511µs($new->{"metaschema_uri"} = scalar do { my $value = do {
11611µs local $Method::Generate::Accessor::CurrentAttribute = {
117 init_arg => "metaschema_uri",
118 name => "metaschema_uri",
119 step => "coercion",
120 };
12110s (my $_return),
122 (my $_error), (my $_old_error = $@);
12310s (eval {
124 ($@ = $_old_error),
125 ($_return =
126$coerce_for_metaschema_5furi->((
127 exists $args->{"metaschema_uri"}
12813µs1119µs ? $args->{"metaschema_uri"}
129 : "https://spec.openapis.org/oas/3.1/schema-base/latest"))),
130 1
131 } or
132 $_error = CORE::ref $@ ? $@ : "coercion for \"metaschema_uri\" failed: ".$@);
13310s ($@ = $_old_error),
134 (defined $_error and CORE::die $_error);
13511µs $_return;
136}
137;
138555µs418µs
# spent 11µs (5+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 which was called: # once (5µs+6µs) by Sub::Quote::_clean_eval at line 138
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_metaschema_5furi, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","metaschema_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"metaschema_uri\"}"); $value }),
# spent 11µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 # spent 6µs making 1 call to warnings::unimport # spent 1µs making 1 call to Scalar::Util::blessed # spent 0s making 1 call to UNIVERSAL::isa
139 $value
140}
141),
142(exists $args->{"operationIds"} and ($new->{"operationIds"} = scalar do { my $value = $args->{"operationIds"};
1432156µs217µs
# spent 11µs (5+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 which was called: # once (5µs+6µs) by Sub::Quote::_clean_eval at line 143
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($value)) and do { my $ok = 1; for my $i (values %{$value}) { ($ok = 0, last) unless do { package Type::Tiny; defined($i) and do { ref(\$i) eq 'SCALAR' or ref(\(my $val = $i)) eq 'SCALAR' } } }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_operationIds, "HashRef[Str]", $value, "attribute_name","operationIds","attribute_step","isa check","mgaca","0","varname","\$args->{\"operationIds\"}"); $value }),
# spent 11µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 # spent 6µs making 1 call to warnings::unimport
144 $value
145}
146)),
147(exists $args->{"schema"} and ($new->{"schema"} = $args->{"schema"})),
148 (($args)[0]->{__no_BUILD__} or (
149144µs194.3s $new->JSON::Schema::Modern::Document::BUILD($args),
# spent 94.3s making 1 call to JSON::Schema::Modern::Document::BUILD
150 )),
151 return $new;
152 }
15311µs $$_UNQUOTED = \&new;
154}
15516µs1;
156
157;